/**
 * 短信相关API接口
 */

import http from '../request.js'
import { API_ENDPOINTS } from '../config.js'

/**
 * 短信相关API模块
 * 包含发送验证码、验证验证码等功能
 */
class SmsAPI {
  /**
   * 发送短信验证码
   * @param {Object} data 发送数据
   * @param {String} data.phoneNumber 手机号
   * @param {String} data.purpose 用途：register|login|reset_password
   */
  async sendCode(data) {
    try {
      const result = await http.post(API_ENDPOINTS.SMS.SEND, data)
      return result
    } catch (error) {
      console.error('发送验证码失败:', error)
      throw error
    }
  }

  /**
   * 验证短信验证码
   * @param {Object} data 验证数据
   * @param {String} data.phoneNumber 手机号
   * @param {String} data.code 验证码
   * @param {String} data.purpose 用途：register|login|reset_password
   */
  async verifyCode(data) {
    try {
      const result = await http.post(API_ENDPOINTS.SMS.VERIFY, data)
      return result
    } catch (error) {
      console.error('验证验证码失败:', error)
      throw error
    }
  }

  /**
   * 获取短信服务状态
   */
  async getStatus() {
    try {
      const result = await http.get(API_ENDPOINTS.SMS.STATUS)
      return result
    } catch (error) {
      console.error('获取短信服务状态失败:', error)
      throw error
    }
  }
}

export default new SmsAPI() 